#pragma once

#include "IExtraResourceData.h"

class D3D11TextureExtraResourceData : public IExtraResourceData
{
	friend class TextureResourceLoader;

	public:

		D3D11TextureExtraResourceData();

		virtual ~D3D11TextureExtraResourceData() 
		{ 
			SAFE_RELEASE(_pTexture); 
			SAFE_RELEASE(_pSamplerLinear); 
		}

		virtual std::string ToString() 
		{ 
			return "D3D11TextureExtraResourceData"; 
		}

		ID3D11ShaderResourceView* const *GetTexture() { return &_pTexture; }

		ID3D11SamplerState* const *GetSampler() { return &_pSamplerLinear; }

	protected:
		
		ID3D11ShaderResourceView* _pTexture;

		ID3D11SamplerState* _pSamplerLinear;
		
};